﻿using System;
namespace Producers.Rr.Xtee.Riik.Ee.Producer.Rr {
    
    
    public partial class Citizenships : global::Producers.Rr.Xtee.Riik.Ee.Producer.Rr.ICitizenships {
        
        private Citizenships.ICitizenshipType @__citizenship;
        
        public Citizenships() {
        }
        
        /// <summary>
        /// All parameters
        /// </summary>
        public Citizenships(Citizenships.ICitizenshipType @citizenship) {
            this.@__citizenship = @citizenship;
        }
        
        /// <summary>
        /// Copy Constructor
        /// </summary>
        protected Citizenships(ICitizenships @citizenships) {
            this.@__citizenship = @citizenships.Citizenship;
        }
        
        public virtual Citizenships.ICitizenshipType Citizenship {
            get {
                return this.@__citizenship;
            }
            set {
                this.@__citizenship = value;
            }
        }
        
        public partial class CitizenshipType : ICitizenshipType {
            
            private string @__riigiKood;
            
            private string @__riigiNimi;
            
            public CitizenshipType() {
            }
            
            /// <summary>
            /// All parameters
            /// </summary>
            public CitizenshipType(string @riigiKood, string @riigiNimi) {
                this.@__riigiKood = @riigiKood;
                this.@__riigiNimi = @riigiNimi;
            }
            
            /// <summary>
            /// Copy Constructor
            /// </summary>
            protected CitizenshipType(ICitizenshipType @citizenshipType) {
                this.@__riigiKood = @citizenshipType.RiigiKood;
                this.@__riigiNimi = @citizenshipType.RiigiNimi;
            }
            
            public virtual string RiigiKood {
                get {
                    return this.@__riigiKood;
                }
                set {
                    this.@__riigiKood = value;
                }
            }
            
            public virtual string RiigiNimi {
                get {
                    return this.@__riigiNimi;
                }
                set {
                    this.@__riigiNimi = value;
                }
            }
        }
        
        public interface ICitizenshipType {
            
            string RiigiKood {
                get;
                set;
            }
            
            string RiigiNimi {
                get;
                set;
            }
        }
    }
}
